﻿using System;
using System.Collections.Generic;
using System.Windows.Forms;

namespace PRE.Systym
{
    /// <summary>
    /// Author:		Nguyen Van Toan
    /// Email:		nvt87x@gmail.com
    /// Phone:		01645 515 010
    /// Create:		19/02/2012 08:00 AM
    /// Update:		?
    /// License form: registry license software
    /// </summary>
    public partial class FrmLicense : DevExpress.XtraEditors.XtraForm
    {
        UTL.Session.LicState _license = UTL.Session.LicState.None;

        public FrmLicense()
        {
            InitializeComponent();
        }

        private void cmdOk_Click(object sender, EventArgs e)
        {
            if ((txtRegister.Text + "").Length < 3)
            {
                UTL.Message.Show("Tên phải nhập từ 3 kí tự", "Đăng kí");
                return;
            }

            // Check license
            _license = UTL.Hasher.License.IsLincense(txtLicenseKey.Text);

            if (_license == UTL.Session.LicState.Unlimited)
            {
                txtExpire.Text = "Không giới hạn!";

                string tmp = String.Format("Mua thành công!{0}Cám ơn bạn đã sử dụng phầm mềm!"
                    + "{0}Xin hãy khởi động lại chương trình!", Environment.NewLine);
                UTL.Message.Show(tmp, "Đăng kí");

                Close();
                Application.Exit();
            }
            else if (_license == UTL.Session.LicState.Trial)
            {
                txtExpire.Text = "Phiên bản thử nghiệm!";

                string tmp = String.Format("Phần mềm dùng thử!{0}Cám ơn bạn đã sử dụng phầm mềm!"
                    + "{0}Xin hãy khởi động lại chương trình!", Environment.NewLine);
                UTL.Message.Show(tmp, "Đăng kí");

                Close();
                Application.Exit();
            }
            else txtExpire.Text = "Không được sử dụng!";

            // Save to registry
            var key = new UTL.Hasher.Registri();
            key.Write("Register", txtRegister.Text);
            key.Write("License", txtLicenseKey.Text);
        }

        private void cmdNo_Click(object sender, EventArgs e)
        {
            if (_license == UTL.Session.LicState.Unlimited) Close();
            else
            {
                Close();
                Application.Exit();
            }
        }

        private void FrmLicense_Load(object sender, EventArgs e)
        {
            txtPcName.Text = Environment.MachineName;
            txtProductId.Text = UTL.Hasher.License.GetProuctId();
        }

        private void cmdTrial_Click(object sender, EventArgs e)
        {
            txtLicenseKey.Text = UTL.Hasher.License.GetTrial();
        }
    }
}